A virtual assistant provides information, performs tasks, or provides services to a user. The virtual assistant may be a device or a software agent. The virtual assistant may receive voice commands through natural language processing. The information provided by the virtual assistant may include data that is easily accessed from the internet, including the weather, traffic, music lyrics, or the news. The tasks performed by the virtual assistant may include making dinner reservations, requesting a driver, performing an internet search, or checking the news. The services provided by the virtual assistant may include playing music, setting a thermostat, reading a book, setting an alarm, or placing a call.